+2001-01-04 Havoc Pennington <hp@redhat.com>
+
+ Rename some stuff:
+
+ s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
+
+ s/GtkModelSimple/GtkTreeModelSimple/g;
+ s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
+ s/gtk_model_simple/gtk_tree_model_simple/g;
+ s/gtkmodelsimple/gtktreemodelsimple/g;
+
+ s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
+
+ s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
+ s/column_set_col_type/column_set_sizing/g;
+
+ s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
+ s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
+
+ s/GtkCellRendererType/GtkCellRendererState/g;
+
+ * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
+ (gtk_cell_renderer_toggle_class_init): change "state" property to
+ "active", to match GtkToggleButton
+ (gtk_cell_renderer_toggle_get_active): new function, bug
+ 40269
+ (gtk_cell_renderer_toggle_set_active): new function
+ (gtk_cell_renderer_toggle_set_property): route changes to toggle
+ state through gtk_cell_renderer_set_active
+
Thu Jan 4 15:46:18 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
+2001-01-04 Havoc Pennington <hp@redhat.com>
+
+ Rename some stuff:
+
+ s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
+
+ s/GtkModelSimple/GtkTreeModelSimple/g;
+ s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
+ s/gtk_model_simple/gtk_tree_model_simple/g;
+ s/gtkmodelsimple/gtktreemodelsimple/g;
+
+ s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
+
+ s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
+ s/column_set_col_type/column_set_sizing/g;
+
+ s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
+ s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
+
+ s/GtkCellRendererType/GtkCellRendererState/g;
+
+ * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
+ (gtk_cell_renderer_toggle_class_init): change "state" property to
+ "active", to match GtkToggleButton
+ (gtk_cell_renderer_toggle_get_active): new function, bug
+ 40269
+ (gtk_cell_renderer_toggle_set_active): new function
+ (gtk_cell_renderer_toggle_set_property): route changes to toggle
+ state through gtk_cell_renderer_set_active
+
Thu Jan 4 15:46:18 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
+2001-01-04 Havoc Pennington <hp@redhat.com>
+
+ Rename some stuff:
+
+ s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
+
+ s/GtkModelSimple/GtkTreeModelSimple/g;
+ s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
+ s/gtk_model_simple/gtk_tree_model_simple/g;
+ s/gtkmodelsimple/gtktreemodelsimple/g;
+
+ s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
+
+ s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
+ s/column_set_col_type/column_set_sizing/g;
+
+ s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
+ s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
+
+ s/GtkCellRendererType/GtkCellRendererState/g;
+
+ * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
+ (gtk_cell_renderer_toggle_class_init): change "state" property to
+ "active", to match GtkToggleButton
+ (gtk_cell_renderer_toggle_get_active): new function, bug
+ 40269
+ (gtk_cell_renderer_toggle_set_active): new function
+ (gtk_cell_renderer_toggle_set_property): route changes to toggle
+ state through gtk_cell_renderer_set_active
+
Thu Jan 4 15:46:18 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
+2001-01-04 Havoc Pennington <hp@redhat.com>
+
+ Rename some stuff:
+
+ s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
+
+ s/GtkModelSimple/GtkTreeModelSimple/g;
+ s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
+ s/gtk_model_simple/gtk_tree_model_simple/g;
+ s/gtkmodelsimple/gtktreemodelsimple/g;
+
+ s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
+
+ s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
+ s/column_set_col_type/column_set_sizing/g;
+
+ s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
+ s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
+
+ s/GtkCellRendererType/GtkCellRendererState/g;
+
+ * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
+ (gtk_cell_renderer_toggle_class_init): change "state" property to
+ "active", to match GtkToggleButton
+ (gtk_cell_renderer_toggle_get_active): new function, bug
+ 40269
+ (gtk_cell_renderer_toggle_set_active): new function
+ (gtk_cell_renderer_toggle_set_property): route changes to toggle
+ state through gtk_cell_renderer_set_active
+
Thu Jan 4 15:46:18 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
+2001-01-04 Havoc Pennington <hp@redhat.com>
+
+ Rename some stuff:
+
+ s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
+
+ s/GtkModelSimple/GtkTreeModelSimple/g;
+ s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
+ s/gtk_model_simple/gtk_tree_model_simple/g;
+ s/gtkmodelsimple/gtktreemodelsimple/g;
+
+ s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
+
+ s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
+ s/column_set_col_type/column_set_sizing/g;
+
+ s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
+ s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
+
+ s/GtkCellRendererType/GtkCellRendererState/g;
+
+ * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
+ (gtk_cell_renderer_toggle_class_init): change "state" property to
+ "active", to match GtkToggleButton
+ (gtk_cell_renderer_toggle_get_active): new function, bug
+ 40269
+ (gtk_cell_renderer_toggle_set_active): new function
+ (gtk_cell_renderer_toggle_set_property): route changes to toggle
+ state through gtk_cell_renderer_set_active
+
Thu Jan 4 15:46:18 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
+2001-01-04 Havoc Pennington <hp@redhat.com>
+
+ Rename some stuff:
+
+ s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
+
+ s/GtkModelSimple/GtkTreeModelSimple/g;
+ s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
+ s/gtk_model_simple/gtk_tree_model_simple/g;
+ s/gtkmodelsimple/gtktreemodelsimple/g;
+
+ s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
+
+ s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
+ s/column_set_col_type/column_set_sizing/g;
+
+ s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
+ s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
+
+ s/GtkCellRendererType/GtkCellRendererState/g;
+
+ * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
+ (gtk_cell_renderer_toggle_class_init): change "state" property to
+ "active", to match GtkToggleButton
+ (gtk_cell_renderer_toggle_get_active): new function, bug
+ 40269
+ (gtk_cell_renderer_toggle_set_active): new function
+ (gtk_cell_renderer_toggle_set_property): route changes to toggle
+ state through gtk_cell_renderer_set_active
+
Thu Jan 4 15:46:18 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
+2001-01-04 Havoc Pennington <hp@redhat.com>
+
+ Rename some stuff:
+
+ s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
+
+ s/GtkModelSimple/GtkTreeModelSimple/g;
+ s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
+ s/gtk_model_simple/gtk_tree_model_simple/g;
+ s/gtkmodelsimple/gtktreemodelsimple/g;
+
+ s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
+
+ s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
+ s/column_set_col_type/column_set_sizing/g;
+
+ s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
+ s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
+
+ s/GtkCellRendererType/GtkCellRendererState/g;
+
+ * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
+ (gtk_cell_renderer_toggle_class_init): change "state" property to
+ "active", to match GtkToggleButton
+ (gtk_cell_renderer_toggle_get_active): new function, bug
+ 40269
+ (gtk_cell_renderer_toggle_set_active): new function
+ (gtk_cell_renderer_toggle_set_property): route changes to toggle
+ state through gtk_cell_renderer_set_active
+
Thu Jan 4 15:46:18 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
gtkmenushell.h \
gtkmessagedialog.h \
gtkmisc.h \
- gtkmodelsimple.h \
gtknotebook.h \
gtkoldeditable.h \
gtkobject.h \
gtktree.h \
gtktreeitem.h \
gtktreemodel.h \
+ gtktreemodelsimple.h \
gtktreemodelsort.h \
gtktreeselection.h \
gtktreestore.h \
gtkmenushell.c \
gtkmessagedialog.c \
gtkmisc.c \
- gtkmodelsimple.c \
gtknotebook.c \
gtkobject.c \
gtkoldeditable.c \
gtktreeitem.c \
gtktreedatalist.c \
gtktreemodel.c \
+ gtktreemodelsimple.c \
gtktreemodelsort.c \
gtktreeselection.c \
gtktreestore.c \
#include <gtk/gtkmenushell.h>
#include <gtk/gtkmessagedialog.h>
#include <gtk/gtkmisc.h>
-#include <gtk/gtkmodelsimple.h>
#include <gtk/gtknotebook.h>
#include <gtk/gtkobject.h>
#include <gtk/gtkoldeditable.h>
#include <gtk/gtktree.h>
#include <gtk/gtktreeitem.h>
#include <gtk/gtktreemodel.h>
+#include <gtk/gtktreemodelsimple.h>
#include <gtk/gtktreemodelsort.h>
#include <gtk/gtktreeselection.h>
#include <gtk/gtktreestore.h>
typedef enum
{
- GTK_CELL_RENDERER_SELECTED = 1 << 0,
- GTK_CELL_RENDERER_PRELIT = 1 << 1,
+ GTK_CELL_RENDERER_SELECTED = 1 << 0,
+ GTK_CELL_RENDERER_PRELIT = 1 << 1,
GTK_CELL_RENDERER_INSENSITIVE = 1 << 2
-} GtkCellRendererType;
+} GtkCellRendererState;
#define GTK_TYPE_CELL_RENDERER (gtk_cell_renderer_get_type ())
#define GTK_CELL_RENDERER(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_CELL_RENDERER, GtkCellRenderer))
#include <stdlib.h>
#include <gtk/gtkcellrenderertoggle.h>
#include <gtk/gtksignal.h>
-
-#ifndef _
-#define _(x) x
-#endif
-
+#include "gtkintl.h"
static void gtk_cell_renderer_toggle_get_property (GObject *object,
guint param_id,
enum {
PROP_ZERO,
- PROP_STATE,
+ PROP_ACTIVE,
PROP_RADIO
};
static void
gtk_cell_renderer_toggle_init (GtkCellRendererToggle *celltoggle)
{
- celltoggle->state = FALSE;
+ celltoggle->active = FALSE;
celltoggle->radio = FALSE;
GTK_CELL_RENDERER (celltoggle)->xpad = 2;
GTK_CELL_RENDERER (celltoggle)->ypad = 2;
cell_class->event = gtk_cell_renderer_toggle_event;
g_object_class_install_property (object_class,
- PROP_STATE,
- g_param_spec_boolean ("state",
+ PROP_ACTIVE,
+ g_param_spec_boolean ("active",
_("Toggle state"),
- _("The toggle-state of the button."),
+ _("The toggle state of the button"),
FALSE,
G_PARAM_READABLE |
G_PARAM_WRITABLE));
PROP_RADIO,
g_param_spec_boolean ("radio",
_("Radio state"),
- _("Draw the toggle button as a radio button."),
+ _("Draw the toggle button as a radio button"),
FALSE,
G_PARAM_READABLE |
G_PARAM_WRITABLE));
switch (param_id)
{
- case PROP_STATE:
- g_value_set_boolean (value, celltoggle->state);
+ case PROP_ACTIVE:
+ g_value_set_boolean (value, celltoggle->active);
break;
case PROP_RADIO:
g_value_set_boolean (value, celltoggle->radio);
switch (param_id)
{
- case PROP_STATE:
- celltoggle->state = g_value_get_boolean (value);
+ case PROP_ACTIVE:
+ gtk_cell_renderer_toggle_set_active (celltoggle, g_value_get_boolean (value));
break;
case PROP_RADIO:
celltoggle->radio = g_value_get_boolean (value);
cell_area->x + real_xoffset,
cell_area->y + real_yoffset,
width, height);
- if (celltoggle->state)
+ if (celltoggle->active)
{
gdk_draw_line (window,
widget->style->black_gc,
width,
height,
0, 360*64);
- if (celltoggle->state)
+ if (celltoggle->active)
{
gdk_draw_arc (window,
widget->style->black_gc,
toggle->radio = radio;
}
+
+gboolean
+gtk_cell_renderer_toggle_get_active (GtkCellRendererToggle *toggle)
+{
+ g_return_val_if_fail (GTK_IS_CELL_RENDERER_TOGGLE (toggle), FALSE);
+
+ return toggle->active;
+}
+
+void
+gtk_cell_renderer_toggle_set_active (GtkCellRendererToggle *toggle,
+ gboolean setting)
+{
+ g_return_if_fail (GTK_IS_CELL_RENDERER_TOGGLE (toggle));
+
+ setting = !! setting;
+
+ if (toggle->active != setting)
+ {
+ toggle->active = setting;
+ g_object_notify (G_OBJECT (toggle), "active");
+ }
+}
GtkCellRenderer parent;
/*< private >*/
- guint state : 1;
+ guint active : 1;
guint radio : 1;
};
void gtk_cell_renderer_toggle_set_radio (GtkCellRendererToggle *toggle,
gboolean radio);
+gboolean gtk_cell_renderer_toggle_get_active (GtkCellRendererToggle *toggle);
+void gtk_cell_renderer_toggle_set_active (GtkCellRendererToggle *toggle,
+ gboolean setting);
#ifdef __cplusplus
}
+++ /dev/null
-/* gtkmodelsimple.c
- * Copyright (C) 2000 Red Hat, Inc., Jonathan Blandford <jrb@redhat.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include "gtkmodelsimple.h"
-#include "gtksignal.h"
-enum {
- CHANGED,
- INSERTED,
- CHILD_TOGGLED,
- DELETED,
-
- GET_N_COLUMNS,
- GET_COLUMN_TYPE,
- GET_ITER,
- GET_PATH,
- GET_VALUE,
- ITER_NEXT,
- ITER_CHILDREN,
- ITER_HAS_CHILD,
- ITER_N_CHILDREN,
- ITER_NTH_CHILD,
- ITER_PARENT,
- REF_ITER,
- UNREF_ITER,
- LAST_SIGNAL
-};
-
-static void gtk_model_simple_init (GtkModelSimple *model_simple);
-static void gtk_model_simple_class_init (GtkModelSimpleClass *class);
-static void gtk_model_simple_tree_model_init (GtkTreeModelIface *iface);
-static gint gtk_real_model_simple_get_n_columns (GtkTreeModel *tree_model);
-static GType gtk_real_model_simple_get_column_type (GtkTreeModel *tree_model,
- gint index);
-static gboolean gtk_real_model_simple_get_iter (GtkTreeModel *tree_model,
- GtkTreeIter *iter,
- GtkTreePath *path);
-static GtkTreePath *gtk_real_model_simple_get_path (GtkTreeModel *tree_model,
- GtkTreeIter *iter);
-static void gtk_real_model_simple_get_value (GtkTreeModel *tree_model,
- GtkTreeIter *iter,
- gint column,
- GValue *value);
-static gboolean gtk_real_model_simple_iter_next (GtkTreeModel *tree_model,
- GtkTreeIter *iter);
-static gboolean gtk_real_model_simple_iter_children (GtkTreeModel *tree_model,
- GtkTreeIter *iter,
- GtkTreeIter *parent);
-static gboolean gtk_real_model_simple_iter_has_child (GtkTreeModel *tree_model,
- GtkTreeIter *iter);
-static gint gtk_real_model_simple_iter_n_children (GtkTreeModel *tree_model,
- GtkTreeIter *iter);
-static gboolean gtk_real_model_simple_iter_nth_child (GtkTreeModel *tree_model,
- GtkTreeIter *iter,
- GtkTreeIter *parent,
- gint n);
-static gboolean gtk_real_model_simple_iter_parent (GtkTreeModel *tree_model,
- GtkTreeIter *iter,
- GtkTreeIter *child);
-static void gtk_real_model_simple_ref_iter (GtkTreeModel *tree_model,
- GtkTreeIter *iter);
-static void gtk_real_model_simple_unref_iter (GtkTreeModel *tree_model,
- GtkTreeIter *iter);
-
-
-static guint model_simple_signals[LAST_SIGNAL] = { 0 };
-
-
-GtkType
-gtk_model_simple_get_type (void)
-{
- static GtkType model_simple_type = 0;
-
- if (!model_simple_type)
- {
- static const GTypeInfo model_simple_info =
- {
- sizeof (GtkModelSimpleClass),
- NULL, /* base_init */
- NULL, /* base_finalize */
- (GClassInitFunc) gtk_model_simple_class_init,
- NULL, /* class_finalize */
- NULL, /* class_data */
- sizeof (GtkModelSimple),
- 0,
- (GInstanceInitFunc) gtk_model_simple_init
- };
-
- static const GInterfaceInfo tree_model_info =
- {
- (GInterfaceInitFunc) gtk_model_simple_tree_model_init,
- NULL,
- NULL
- };
-
- model_simple_type = g_type_register_static (GTK_TYPE_OBJECT, "GtkModelSimple", &model_simple_info, 0);
- g_type_add_interface_static (model_simple_type,
- GTK_TYPE_TREE_MODEL,
- &tree_model_info);
- }
-
- return model_simple_type;
-}
-
-GtkModelSimple *
-gtk_model_simple_new (void)
-{
- GtkModelSimple *retval;
-
- retval = GTK_MODEL_SIMPLE (gtk_type_new (GTK_TYPE_MODEL_SIMPLE));
-
- return retval;
-}
-
-static void
-gtk_model_simple_class_init (GtkModelSimpleClass *class)
-{
- GtkObjectClass *object_class;
-
- object_class = (GtkObjectClass*) class;
-
- model_simple_signals[CHANGED] =
- gtk_signal_new ("changed",
- GTK_RUN_FIRST,
- GTK_CLASS_TYPE (object_class),
- GTK_SIGNAL_OFFSET (GtkModelSimpleClass, changed),
- gtk_marshal_VOID__BOXED_BOXED,
- G_TYPE_NONE, 2,
- G_TYPE_POINTER,
- G_TYPE_POINTER);
- model_simple_signals[INSERTED] =
- gtk_signal_new ("inserted",
- GTK_RUN_FIRST,
- GTK_CLASS_TYPE (object_class),
- GTK_SIGNAL_OFFSET (GtkModelSimpleClass, inserted),
- gtk_marshal_VOID__BOXED_BOXED,
- G_TYPE_NONE, 2,
- G_TYPE_POINTER,
- G_TYPE_POINTER);
- model_simple_signals[CHILD_TOGGLED] =
- gtk_signal_new ("child_toggled",
- GTK_RUN_FIRST,
- GTK_CLASS_TYPE (object_class),
- GTK_SIGNAL_OFFSET (GtkModelSimpleClass, child_toggled),
- gtk_marshal_VOID__BOXED_BOXED,
- G_TYPE_NONE, 2,
- G_TYPE_POINTER,
- G_TYPE_POINTER);
- model_simple_signals[DELETED] =
- gtk_signal_new ("deleted",
- GTK_RUN_FIRST,
- GTK_CLASS_TYPE (object_class),
- GTK_SIGNAL_OFFSET (GtkModelSimpleClass, deleted),
- gtk_marshal_VOID__BOXED,
- G_TYPE_NONE, 1,
- G_TYPE_POINTER);
-
- model_simple_signals[GET_N_COLUMNS] =
- gtk_signal_new ("get_n_columns",
- GTK_RUN_LAST,
- GTK_CLASS_TYPE (object_class),
- GTK_SIGNAL_OFFSET (GtkModelSimpleClass, get_n_columns),
- gtk_marshal_INT__VOID,
- G_TYPE_INT, 0);
- model_simple_signals[GET_COLUMN_TYPE] =
- gtk_signal_new ("get_column_type",
- GTK_RUN_LAST,
- GTK_CLASS_TYPE (object_class),
- GTK_SIGNAL_OFFSET (GtkModelSimpleClass, get_column_type),
- gtk_marshal_INT__INT,
- G_TYPE_INT, 1,
- G_TYPE_INT);
- model_simple_signals[GET_ITER] =
- gtk_signal_new ("get_iter",
- GTK_RUN_LAST,
- GTK_CLASS_TYPE (object_class),
- GTK_SIGNAL_OFFSET (GtkModelSimpleClass, get_iter),
- gtk_marshal_BOOLEAN__BOXED_BOXED,
- G_TYPE_BOOLEAN, 2,
- G_TYPE_POINTER,
- G_TYPE_POINTER);
- model_simple_signals[GET_PATH] =
- gtk_signal_new ("get_path",
- GTK_RUN_LAST,
- GTK_CLASS_TYPE (object_class),
- GTK_SIGNAL_OFFSET (GtkModelSimpleClass, get_path),
- gtk_marshal_BOXED__BOXED,
- G_TYPE_POINTER, 1,
- G_TYPE_POINTER);
- model_simple_signals[GET_VALUE] =
- gtk_signal_new ("get_value",
- GTK_RUN_LAST,
- GTK_CLASS_TYPE (object_class),
- GTK_SIGNAL_OFFSET (GtkModelSimpleClass, get_value),
- gtk_marshal_VOID__BOXED_INT_POINTER,
- G_TYPE_NONE, 3,
- G_TYPE_POINTER,
- G_TYPE_INT,
- G_TYPE_POINTER);
- model_simple_signals[ITER_NEXT] =
- gtk_signal_new ("iter_next",
- GTK_RUN_LAST,
- GTK_CLASS_TYPE (object_class),
- GTK_SIGNAL_OFFSET (GtkModelSimpleClass, iter_next),
- gtk_marshal_BOOLEAN__BOXED,
- G_TYPE_BOOLEAN, 1,
- G_TYPE_POINTER);
- model_simple_signals[ITER_CHILDREN] =
- gtk_signal_new ("iter_children",
- GTK_RUN_LAST,
- GTK_CLASS_TYPE (object_class),
- GTK_SIGNAL_OFFSET (GtkModelSimpleClass, iter_children),
- gtk_marshal_BOOLEAN__BOXED_BOXED,
- G_TYPE_BOOLEAN, 2,
- G_TYPE_POINTER,
- G_TYPE_POINTER);
- model_simple_signals[ITER_HAS_CHILD] =
- gtk_signal_new ("iter_has_child",
- GTK_RUN_LAST,
- GTK_CLASS_TYPE (object_class),
- GTK_SIGNAL_OFFSET (GtkModelSimpleClass, iter_has_child),
- gtk_marshal_BOOLEAN__BOXED,
- G_TYPE_BOOLEAN, 1,
- G_TYPE_POINTER);
- model_simple_signals[ITER_N_CHILDREN] =
- gtk_signal_new ("iter_n_children",
- GTK_RUN_LAST,
- GTK_CLASS_TYPE (object_class),
- GTK_SIGNAL_OFFSET (GtkModelSimpleClass, iter_n_children),
- gtk_marshal_INT__BOXED,
- G_TYPE_INT, 1,
- G_TYPE_POINTER);
- model_simple_signals[ITER_NTH_CHILD] =
- gtk_signal_new ("iter_nth_child",
- GTK_RUN_LAST,
- GTK_CLASS_TYPE (object_class),
- GTK_SIGNAL_OFFSET (GtkModelSimpleClass, iter_nth_child),
- gtk_marshal_BOOLEAN__BOXED_BOXED_INT,
- GTK_TYPE_BOOL, 3,
- G_TYPE_POINTER,
- G_TYPE_POINTER,
- G_TYPE_INT);
- model_simple_signals[ITER_PARENT] =
- gtk_signal_new ("iter_parent",
- GTK_RUN_LAST,
- GTK_CLASS_TYPE (object_class),
- GTK_SIGNAL_OFFSET (GtkModelSimpleClass, iter_parent),
- gtk_marshal_BOOLEAN__BOXED_BOXED,
- G_TYPE_BOOLEAN, 2,
- G_TYPE_POINTER,
- G_TYPE_POINTER);
- model_simple_signals[REF_ITER] =
- gtk_signal_new ("ref_iter",
- GTK_RUN_LAST,
- GTK_CLASS_TYPE (object_class),
- GTK_SIGNAL_OFFSET (GtkModelSimpleClass, ref_iter),
- gtk_marshal_NONE__BOXED,
- G_TYPE_NONE, 1,
- G_TYPE_POINTER);
- model_simple_signals[UNREF_ITER] =
- gtk_signal_new ("unref_iter",
- GTK_RUN_LAST,
- GTK_CLASS_TYPE (object_class),
- GTK_SIGNAL_OFFSET (GtkModelSimpleClass, unref_iter),
- gtk_marshal_NONE__BOXED,
- G_TYPE_NONE, 1,
- G_TYPE_POINTER);
-}
-
-static void
-gtk_model_simple_tree_model_init (GtkTreeModelIface *iface)
-{
- iface->get_n_columns = gtk_real_model_simple_get_n_columns;
- iface->get_column_type = gtk_real_model_simple_get_column_type;
- iface->get_iter = gtk_real_model_simple_get_iter;
- iface->get_path = gtk_real_model_simple_get_path;
- iface->get_value = gtk_real_model_simple_get_value;
- iface->iter_next = gtk_real_model_simple_iter_next;
- iface->iter_children = gtk_real_model_simple_iter_children;
- iface->iter_has_child = gtk_real_model_simple_iter_has_child;
- iface->iter_n_children = gtk_real_model_simple_iter_n_children;
- iface->iter_nth_child = gtk_real_model_simple_iter_nth_child;
- iface->iter_parent = gtk_real_model_simple_iter_parent;
- iface->ref_iter = gtk_real_model_simple_ref_iter;
- iface->unref_iter = gtk_real_model_simple_unref_iter;
-}
-
-
-static void
-gtk_model_simple_init (GtkModelSimple *model_simple)
-{
- model_simple->stamp = 1;
-}
-
-static gint
-gtk_real_model_simple_get_n_columns (GtkTreeModel *tree_model)
-{
- gint retval = 0;
-
- gtk_signal_emit (GTK_OBJECT (tree_model), model_simple_signals[GET_N_COLUMNS], &retval);
-
- return retval;
-}
-
-static GType
-gtk_real_model_simple_get_column_type (GtkTreeModel *tree_model,
- gint index)
-{
- GType retval = G_TYPE_INVALID;
-
- gtk_signal_emit (GTK_OBJECT (tree_model), model_simple_signals[GET_COLUMN_TYPE], index, &retval);
-
- return retval;
-}
-
-static gboolean
-gtk_real_model_simple_get_iter (GtkTreeModel *tree_model,
- GtkTreeIter *iter,
- GtkTreePath *path)
-{
- gboolean retval;
-
- gtk_signal_emit (GTK_OBJECT (tree_model), model_simple_signals[GET_ITER], iter, path, &retval);
-
- return retval;
-}
-
-static GtkTreePath *
-gtk_real_model_simple_get_path (GtkTreeModel *tree_model,
- GtkTreeIter *iter)
-{
- GtkTreePath *retval;
-
- gtk_signal_emit (GTK_OBJECT (tree_model), model_simple_signals[GET_PATH], iter, &retval);
-
- return retval;
-}
-
-static void
-gtk_real_model_simple_get_value (GtkTreeModel *tree_model,
- GtkTreeIter *iter,
- gint column,
- GValue *value)
-{
- gtk_signal_emit (GTK_OBJECT (tree_model), model_simple_signals[GET_VALUE], iter, column, value);
-}
-
-static gboolean
-gtk_real_model_simple_iter_next (GtkTreeModel *tree_model,
- GtkTreeIter *iter)
-{
- gboolean retval = FALSE;
-
- gtk_signal_emit (GTK_OBJECT (tree_model), model_simple_signals[ITER_NEXT], iter, &retval);
-
- return retval;
-}
-
-static gboolean
-gtk_real_model_simple_iter_children (GtkTreeModel *tree_model,
- GtkTreeIter *iter,
- GtkTreeIter *parent)
-{
- gboolean retval = FALSE;
-
- gtk_signal_emit (GTK_OBJECT (tree_model), model_simple_signals[ITER_CHILDREN], iter, parent, &retval);
-
- return retval;
-}
-
-static gboolean
-gtk_real_model_simple_iter_has_child (GtkTreeModel *tree_model,
- GtkTreeIter *iter)
-{
- gboolean retval = FALSE;
-
- gtk_signal_emit (GTK_OBJECT (tree_model), model_simple_signals[ITER_HAS_CHILD], iter, &retval);
-
- return retval;
-}
-
-static gint
-gtk_real_model_simple_iter_n_children (GtkTreeModel *tree_model,
- GtkTreeIter *iter)
-{
- gint retval = 0;
-
- gtk_signal_emit (GTK_OBJECT (tree_model), model_simple_signals[ITER_N_CHILDREN], iter, &retval);
-
- return retval;
-}
-
-static gboolean
-gtk_real_model_simple_iter_nth_child (GtkTreeModel *tree_model,
- GtkTreeIter *iter,
- GtkTreeIter *parent,
- gint n)
-{
- gboolean retval = FALSE;
-
- gtk_signal_emit (GTK_OBJECT (tree_model), model_simple_signals[ITER_NTH_CHILD], iter, parent, n, &retval);
-
- return retval;
-}
-
-static gboolean
-gtk_real_model_simple_iter_parent (GtkTreeModel *tree_model,
- GtkTreeIter *iter,
- GtkTreeIter *child)
-{
- gboolean retval = FALSE;
-
- gtk_signal_emit (GTK_OBJECT (tree_model), model_simple_signals[ITER_PARENT], iter, child, &retval);
-
- return retval;
-}
-
-static void
-gtk_real_model_simple_ref_iter (GtkTreeModel *tree_model,
- GtkTreeIter *iter)
-{
- gtk_signal_emit (GTK_OBJECT (tree_model), model_simple_signals[REF_ITER], iter);
-}
-
-static void
-gtk_real_model_simple_unref_iter (GtkTreeModel *tree_model,
- GtkTreeIter *iter)
-{
- gtk_signal_emit (GTK_OBJECT (tree_model), model_simple_signals[UNREF_ITER], iter);
-}
-
-/* Public functions */
-void
-gtk_model_simple_changed (GtkModelSimple *simple,
- GtkTreePath *path,
- GtkTreeIter *iter)
-{
- g_return_if_fail (simple != NULL);
- g_return_if_fail (GTK_IS_MODEL_SIMPLE (simple));
- g_return_if_fail (path != NULL);
-
- gtk_signal_emit_by_name (GTK_OBJECT (simple), "changed", path, iter);
-}
-
-void
-gtk_model_simple_inserted (GtkModelSimple *simple,
- GtkTreePath *path,
- GtkTreeIter *iter)
-{
- g_return_if_fail (simple != NULL);
- g_return_if_fail (GTK_IS_MODEL_SIMPLE (simple));
- g_return_if_fail (path != NULL);
-
- gtk_signal_emit_by_name (GTK_OBJECT (simple), "inserted", path, iter);
-}
-
-void
-gtk_model_simple_child_toggled (GtkModelSimple *simple,
- GtkTreePath *path,
- GtkTreeIter *iter)
-{
- g_return_if_fail (simple != NULL);
- g_return_if_fail (GTK_IS_MODEL_SIMPLE (simple));
- g_return_if_fail (path != NULL);
-
- gtk_signal_emit_by_name (GTK_OBJECT (simple), "child_toggled", path, iter);
-}
-
-void
-gtk_model_simple_iter_deleted (GtkModelSimple *simple,
- GtkTreePath *path,
- GtkTreeIter *iter)
-{
- g_return_if_fail (simple != NULL);
- g_return_if_fail (GTK_IS_MODEL_SIMPLE (simple));
- g_return_if_fail (path != NULL);
-
- gtk_signal_emit_by_name (GTK_OBJECT (simple), "iter_deleted", path, iter);
-}
+++ /dev/null
-/* gtkmodelsimple.h
- * Copyright (C) 2000 Red Hat, Inc., Jonathan Blandford <jrb@redhat.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GTK_MODEL_SIMPLE_H__
-#define __GTK_MODEL_SIMPLE_H__
-
-#include <gtk/gtktreemodel.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-
-#define GTK_TYPE_MODEL_SIMPLE (gtk_model_simple_get_type ())
-#define GTK_MODEL_SIMPLE(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_MODEL_SIMPLE, GtkModelSimple))
-#define GTK_MODEL_SIMPLE_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_MODEL_SIMPLE, GtkModelSimpleClass))
-#define GTK_IS_MODEL_SIMPLE(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_MODEL_SIMPLE))
-#define GTK_IS_MODEL_SIMPLE_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((obj), GTK_TYPE_MODEL_SIMPLE))
-
-typedef struct _GtkModelSimple GtkModelSimple;
-typedef struct _GtkModelSimpleClass GtkModelSimpleClass;
-
-struct _GtkModelSimple
-{
- GtkObject parent;
-
- gint stamp;
-};
-
-struct _GtkModelSimpleClass
-{
- GtkObjectClass parent_class;
-
- /* signals */
- guint (* get_flags) (GtkTreeModel *tree_model);
- gint (* get_n_columns) (GtkTreeModel *tree_model);
- GType (* get_column_type) (GtkTreeModel *tree_model,
- gint index);
- gboolean (* get_iter) (GtkTreeModel *tree_model,
- GtkTreeIter *iter,
- GtkTreePath *path);
- GtkTreePath *(* get_path) (GtkTreeModel *tree_model,
- GtkTreeIter *iter);
- void (* get_value) (GtkTreeModel *tree_model,
- GtkTreeIter *iter,
- gint column,
- GValue *value);
- gboolean (* iter_next) (GtkTreeModel *tree_model,
- GtkTreeIter *iter);
- gboolean (* iter_children) (GtkTreeModel *tree_model,
- GtkTreeIter *iter,
- GtkTreeIter *parent);
- gboolean (* iter_has_child) (GtkTreeModel *tree_model,
- GtkTreeIter *iter);
- gint (* iter_n_children) (GtkTreeModel *tree_model,
- GtkTreeIter *iter);
- gboolean (* iter_nth_child) (GtkTreeModel *tree_model,
- GtkTreeIter *iter,
- GtkTreeIter *parent,
- gint n);
- gboolean (* iter_parent) (GtkTreeModel *tree_model,
- GtkTreeIter *iter,
- GtkTreeIter *child);
- void (* ref_iter) (GtkTreeModel *tree_model,
- GtkTreeIter *iter);
- void (* unref_iter) (GtkTreeModel *tree_model,
- GtkTreeIter *iter);
-
- /* These will be moved into the GtkTreeModelIface eventually */
- void (* changed) (GtkTreeModel *tree_model,
- GtkTreePath *path,
- GtkTreeIter *iter);
- void (* inserted) (GtkTreeModel *tree_model,
- GtkTreePath *path,
- GtkTreeIter *iter);
- void (* child_toggled) (GtkTreeModel *tree_model,
- GtkTreePath *path,
- GtkTreeIter *iter);
- void (* deleted) (GtkTreeModel *tree_model,
- GtkTreePath *path);
-};
-
-
-GtkType gtk_model_simple_get_type (void);
-GtkModelSimple *gtk_model_simple_new (void);
-void gtk_model_simple_changed (GtkModelSimple *simple,
- GtkTreePath *path,
- GtkTreeIter *iter);
-void gtk_model_simple_inserted (GtkModelSimple *simple,
- GtkTreePath *path,
- GtkTreeIter *iter);
-void gtk_model_simple_child_toggled (GtkModelSimple *simple,
- GtkTreePath *path,
- GtkTreeIter *iter);
-void gtk_model_simple_deleted (GtkModelSimple *simple,
- GtkTreePath *path,
- GtkTreeIter *iter);
-
-
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-
-#endif /* __GTK_MODEL_SIMPLE_H__ */
--- /dev/null
+/* gtktreemodelsimple.c
+ * Copyright (C) 2000 Red Hat, Inc., Jonathan Blandford <jrb@redhat.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include "gtktreemodelsimple.h"
+#include "gtksignal.h"
+enum {
+ CHANGED,
+ INSERTED,
+ CHILD_TOGGLED,
+ DELETED,
+
+ GET_N_COLUMNS,
+ GET_COLUMN_TYPE,
+ GET_ITER,
+ GET_PATH,
+ GET_VALUE,
+ ITER_NEXT,
+ ITER_CHILDREN,
+ ITER_HAS_CHILD,
+ ITER_N_CHILDREN,
+ ITER_NTH_CHILD,
+ ITER_PARENT,
+ REF_ITER,
+ UNREF_ITER,
+ LAST_SIGNAL
+};
+
+static void gtk_tree_model_simple_init (GtkTreeModelSimple *model_simple);
+static void gtk_tree_model_simple_class_init (GtkTreeModelSimpleClass *class);
+static void gtk_tree_model_simple_tree_model_init (GtkTreeModelIface *iface);
+static gint gtk_real_model_simple_get_n_columns (GtkTreeModel *tree_model);
+static GType gtk_real_model_simple_get_column_type (GtkTreeModel *tree_model,
+ gint index);
+static gboolean gtk_real_model_simple_get_iter (GtkTreeModel *tree_model,
+ GtkTreeIter *iter,
+ GtkTreePath *path);
+static GtkTreePath *gtk_real_model_simple_get_path (GtkTreeModel *tree_model,
+ GtkTreeIter *iter);
+static void gtk_real_model_simple_get_value (GtkTreeModel *tree_model,
+ GtkTreeIter *iter,
+ gint column,
+ GValue *value);
+static gboolean gtk_real_model_simple_iter_next (GtkTreeModel *tree_model,
+ GtkTreeIter *iter);
+static gboolean gtk_real_model_simple_iter_children (GtkTreeModel *tree_model,
+ GtkTreeIter *iter,
+ GtkTreeIter *parent);
+static gboolean gtk_real_model_simple_iter_has_child (GtkTreeModel *tree_model,
+ GtkTreeIter *iter);
+static gint gtk_real_model_simple_iter_n_children (GtkTreeModel *tree_model,
+ GtkTreeIter *iter);
+static gboolean gtk_real_model_simple_iter_nth_child (GtkTreeModel *tree_model,
+ GtkTreeIter *iter,
+ GtkTreeIter *parent,
+ gint n);
+static gboolean gtk_real_model_simple_iter_parent (GtkTreeModel *tree_model,
+ GtkTreeIter *iter,
+ GtkTreeIter *child);
+static void gtk_real_model_simple_ref_iter (GtkTreeModel *tree_model,
+ GtkTreeIter *iter);
+static void gtk_real_model_simple_unref_iter (GtkTreeModel *tree_model,
+ GtkTreeIter *iter);
+
+
+static guint model_simple_signals[LAST_SIGNAL] = { 0 };
+
+
+GtkType
+gtk_tree_model_simple_get_type (void)
+{
+ static GtkType model_simple_type = 0;
+
+ if (!model_simple_type)
+ {
+ static const GTypeInfo model_simple_info =
+ {
+ sizeof (GtkTreeModelSimpleClass),
+ NULL, /* base_init */
+ NULL, /* base_finalize */
+ (GClassInitFunc) gtk_tree_model_simple_class_init,
+ NULL, /* class_finalize */
+ NULL, /* class_data */
+ sizeof (GtkTreeModelSimple),
+ 0,
+ (GInstanceInitFunc) gtk_tree_model_simple_init
+ };
+
+ static const GInterfaceInfo tree_model_info =
+ {
+ (GInterfaceInitFunc) gtk_tree_model_simple_tree_model_init,
+ NULL,
+ NULL
+ };
+
+ model_simple_type = g_type_register_static (GTK_TYPE_OBJECT, "GtkTreeModelSimple", &model_simple_info, 0);
+ g_type_add_interface_static (model_simple_type,
+ GTK_TYPE_TREE_MODEL,
+ &tree_model_info);
+ }
+
+ return model_simple_type;
+}
+
+GtkTreeModelSimple *
+gtk_tree_model_simple_new (void)
+{
+ GtkTreeModelSimple *retval;
+
+ retval = GTK_TREE_MODEL_SIMPLE (gtk_type_new (GTK_TYPE_MODEL_SIMPLE));
+
+ return retval;
+}
+
+static void
+gtk_tree_model_simple_class_init (GtkTreeModelSimpleClass *class)
+{
+ GtkObjectClass *object_class;
+
+ object_class = (GtkObjectClass*) class;
+
+ model_simple_signals[CHANGED] =
+ gtk_signal_new ("changed",
+ GTK_RUN_FIRST,
+ GTK_CLASS_TYPE (object_class),
+ GTK_SIGNAL_OFFSET (GtkTreeModelSimpleClass, changed),
+ gtk_marshal_VOID__BOXED_BOXED,
+ G_TYPE_NONE, 2,
+ G_TYPE_POINTER,
+ G_TYPE_POINTER);
+ model_simple_signals[INSERTED] =
+ gtk_signal_new ("inserted",
+ GTK_RUN_FIRST,
+ GTK_CLASS_TYPE (object_class),
+ GTK_SIGNAL_OFFSET (GtkTreeModelSimpleClass, inserted),
+ gtk_marshal_VOID__BOXED_BOXED,
+ G_TYPE_NONE, 2,
+ G_TYPE_POINTER,
+ G_TYPE_POINTER);
+ model_simple_signals[CHILD_TOGGLED] =
+ gtk_signal_new ("child_toggled",
+ GTK_RUN_FIRST,
+ GTK_CLASS_TYPE (object_class),
+ GTK_SIGNAL_OFFSET (GtkTreeModelSimpleClass, child_toggled),
+ gtk_marshal_VOID__BOXED_BOXED,
+ G_TYPE_NONE, 2,
+ G_TYPE_POINTER,
+ G_TYPE_POINTER);
+ model_simple_signals[DELETED] =
+ gtk_signal_new ("deleted",
+ GTK_RUN_FIRST,
+ GTK_CLASS_TYPE (object_class),
+ GTK_SIGNAL_OFFSET (GtkTreeModelSimpleClass, deleted),
+ gtk_marshal_VOID__BOXED,
+ G_TYPE_NONE, 1,
+ G_TYPE_POINTER);
+
+ model_simple_signals[GET_N_COLUMNS] =
+ gtk_signal_new ("get_n_columns",
+ GTK_RUN_LAST,
+ GTK_CLASS_TYPE (object_class),
+ GTK_SIGNAL_OFFSET (GtkTreeModelSimpleClass, get_n_columns),
+ gtk_marshal_INT__VOID,
+ G_TYPE_INT, 0);
+ model_simple_signals[GET_COLUMN_TYPE] =
+ gtk_signal_new ("get_column_type",
+ GTK_RUN_LAST,
+ GTK_CLASS_TYPE (object_class),
+ GTK_SIGNAL_OFFSET (GtkTreeModelSimpleClass, get_column_type),
+ gtk_marshal_INT__INT,
+ G_TYPE_INT, 1,
+ G_TYPE_INT);
+ model_simple_signals[GET_ITER] =
+ gtk_signal_new ("get_iter",
+ GTK_RUN_LAST,
+ GTK_CLASS_TYPE (object_class),
+ GTK_SIGNAL_OFFSET (GtkTreeModelSimpleClass, get_iter),
+ gtk_marshal_BOOLEAN__BOXED_BOXED,
+ G_TYPE_BOOLEAN, 2,
+ G_TYPE_POINTER,
+ G_TYPE_POINTER);
+ model_simple_signals[GET_PATH] =
+ gtk_signal_new ("get_path",
+ GTK_RUN_LAST,
+ GTK_CLASS_TYPE (object_class),
+ GTK_SIGNAL_OFFSET (GtkTreeModelSimpleClass, get_path),
+ gtk_marshal_BOXED__BOXED,
+ G_TYPE_POINTER, 1,
+ G_TYPE_POINTER);
+ model_simple_signals[GET_VALUE] =
+ gtk_signal_new ("get_value",
+ GTK_RUN_LAST,
+ GTK_CLASS_TYPE (object_class),
+ GTK_SIGNAL_OFFSET (GtkTreeModelSimpleClass, get_value),
+ gtk_marshal_VOID__BOXED_INT_POINTER,
+ G_TYPE_NONE, 3,
+ G_TYPE_POINTER,
+ G_TYPE_INT,
+ G_TYPE_POINTER);
+ model_simple_signals[ITER_NEXT] =
+ gtk_signal_new ("iter_next",
+ GTK_RUN_LAST,
+ GTK_CLASS_TYPE (object_class),
+ GTK_SIGNAL_OFFSET (GtkTreeModelSimpleClass, iter_next),
+ gtk_marshal_BOOLEAN__BOXED,
+ G_TYPE_BOOLEAN, 1,
+ G_TYPE_POINTER);
+ model_simple_signals[ITER_CHILDREN] =
+ gtk_signal_new ("iter_children",
+ GTK_RUN_LAST,
+ GTK_CLASS_TYPE (object_class),
+ GTK_SIGNAL_OFFSET (GtkTreeModelSimpleClass, iter_children),
+ gtk_marshal_BOOLEAN__BOXED_BOXED,
+ G_TYPE_BOOLEAN, 2,
+ G_TYPE_POINTER,
+ G_TYPE_POINTER);
+ model_simple_signals[ITER_HAS_CHILD] =
+ gtk_signal_new ("iter_has_child",
+ GTK_RUN_LAST,
+ GTK_CLASS_TYPE (object_class),
+ GTK_SIGNAL_OFFSET (GtkTreeModelSimpleClass, iter_has_child),
+ gtk_marshal_BOOLEAN__BOXED,
+ G_TYPE_BOOLEAN, 1,
+ G_TYPE_POINTER);
+ model_simple_signals[ITER_N_CHILDREN] =
+ gtk_signal_new ("iter_n_children",
+ GTK_RUN_LAST,
+ GTK_CLASS_TYPE (object_class),
+ GTK_SIGNAL_OFFSET (GtkTreeModelSimpleClass, iter_n_children),
+ gtk_marshal_INT__BOXED,
+ G_TYPE_INT, 1,
+ G_TYPE_POINTER);
+ model_simple_signals[ITER_NTH_CHILD] =
+ gtk_signal_new ("iter_nth_child",
+ GTK_RUN_LAST,
+ GTK_CLASS_TYPE (object_class),
+ GTK_SIGNAL_OFFSET (GtkTreeModelSimpleClass, iter_nth_child),
+ gtk_marshal_BOOLEAN__BOXED_BOXED_INT,
+ GTK_TYPE_BOOL, 3,
+ G_TYPE_POINTER,
+ G_TYPE_POINTER,
+ G_TYPE_INT);
+ model_simple_signals[ITER_PARENT] =
+ gtk_signal_new ("iter_parent",
+ GTK_RUN_LAST,
+ GTK_CLASS_TYPE (object_class),
+ GTK_SIGNAL_OFFSET (GtkTreeModelSimpleClass, iter_parent),
+ gtk_marshal_BOOLEAN__BOXED_BOXED,
+ G_TYPE_BOOLEAN, 2,
+ G_TYPE_POINTER,
+ G_TYPE_POINTER);
+ model_simple_signals[REF_ITER] =
+ gtk_signal_new ("ref_iter",
+ GTK_RUN_LAST,
+ GTK_CLASS_TYPE (object_class),
+ GTK_SIGNAL_OFFSET (GtkTreeModelSimpleClass, ref_iter),
+ gtk_marshal_NONE__BOXED,
+ G_TYPE_NONE, 1,
+ G_TYPE_POINTER);
+ model_simple_signals[UNREF_ITER] =
+ gtk_signal_new ("unref_iter",
+ GTK_RUN_LAST,
+ GTK_CLASS_TYPE (object_class),
+ GTK_SIGNAL_OFFSET (GtkTreeModelSimpleClass, unref_iter),
+ gtk_marshal_NONE__BOXED,
+ G_TYPE_NONE, 1,
+ G_TYPE_POINTER);
+}
+
+static void
+gtk_tree_model_simple_tree_model_init (GtkTreeModelIface *iface)
+{
+ iface->get_n_columns = gtk_real_model_simple_get_n_columns;
+ iface->get_column_type = gtk_real_model_simple_get_column_type;
+ iface->get_iter = gtk_real_model_simple_get_iter;
+ iface->get_path = gtk_real_model_simple_get_path;
+ iface->get_value = gtk_real_model_simple_get_value;
+ iface->iter_next = gtk_real_model_simple_iter_next;
+ iface->iter_children = gtk_real_model_simple_iter_children;
+ iface->iter_has_child = gtk_real_model_simple_iter_has_child;
+ iface->iter_n_children = gtk_real_model_simple_iter_n_children;
+ iface->iter_nth_child = gtk_real_model_simple_iter_nth_child;
+ iface->iter_parent = gtk_real_model_simple_iter_parent;
+ iface->ref_iter = gtk_real_model_simple_ref_iter;
+ iface->unref_iter = gtk_real_model_simple_unref_iter;
+}
+
+
+static void
+gtk_tree_model_simple_init (GtkTreeModelSimple *model_simple)
+{
+ model_simple->stamp = 1;
+}
+
+static gint
+gtk_real_model_simple_get_n_columns (GtkTreeModel *tree_model)
+{
+ gint retval = 0;
+
+ gtk_signal_emit (GTK_OBJECT (tree_model), model_simple_signals[GET_N_COLUMNS], &retval);
+
+ return retval;
+}
+
+static GType
+gtk_real_model_simple_get_column_type (GtkTreeModel *tree_model,
+ gint index)
+{
+ GType retval = G_TYPE_INVALID;
+
+ gtk_signal_emit (GTK_OBJECT (tree_model), model_simple_signals[GET_COLUMN_TYPE], index, &retval);
+
+ return retval;
+}
+
+static gboolean
+gtk_real_model_simple_get_iter (GtkTreeModel *tree_model,
+ GtkTreeIter *iter,
+ GtkTreePath *path)
+{
+ gboolean retval;
+
+ gtk_signal_emit (GTK_OBJECT (tree_model), model_simple_signals[GET_ITER], iter, path, &retval);
+
+ return retval;
+}
+
+static GtkTreePath *
+gtk_real_model_simple_get_path (GtkTreeModel *tree_model,
+ GtkTreeIter *iter)
+{
+ GtkTreePath *retval;
+
+ gtk_signal_emit (GTK_OBJECT (tree_model), model_simple_signals[GET_PATH], iter, &retval);
+
+ return retval;
+}
+
+static void
+gtk_real_model_simple_get_value (GtkTreeModel *tree_model,
+ GtkTreeIter *iter,
+ gint column,
+ GValue *value)
+{
+ gtk_signal_emit (GTK_OBJECT (tree_model), model_simple_signals[GET_VALUE], iter, column, value);
+}
+
+static gboolean
+gtk_real_model_simple_iter_next (GtkTreeModel *tree_model,
+ GtkTreeIter *iter)
+{
+ gboolean retval = FALSE;
+
+ gtk_signal_emit (GTK_OBJECT (tree_model), model_simple_signals[ITER_NEXT], iter, &retval);
+
+ return retval;
+}
+
+static gboolean
+gtk_real_model_simple_iter_children (GtkTreeModel *tree_model,
+ GtkTreeIter *iter,
+ GtkTreeIter *parent)
+{
+ gboolean retval = FALSE;
+
+ gtk_signal_emit (GTK_OBJECT (tree_model), model_simple_signals[ITER_CHILDREN], iter, parent, &retval);
+
+ return retval;
+}
+
+static gboolean
+gtk_real_model_simple_iter_has_child (GtkTreeModel *tree_model,
+ GtkTreeIter *iter)
+{
+ gboolean retval = FALSE;
+
+ gtk_signal_emit (GTK_OBJECT (tree_model), model_simple_signals[ITER_HAS_CHILD], iter, &retval);
+
+ return retval;
+}
+
+static gint
+gtk_real_model_simple_iter_n_children (GtkTreeModel *tree_model,
+ GtkTreeIter *iter)
+{
+ gint retval = 0;
+
+ gtk_signal_emit (GTK_OBJECT (tree_model), model_simple_signals[ITER_N_CHILDREN], iter, &retval);
+
+ return retval;
+}
+
+static gboolean
+gtk_real_model_simple_iter_nth_child (GtkTreeModel *tree_model,
+ GtkTreeIter *iter,
+ GtkTreeIter *parent,
+ gint n)
+{
+ gboolean retval = FALSE;
+
+ gtk_signal_emit (GTK_OBJECT (tree_model), model_simple_signals[ITER_NTH_CHILD], iter, parent, n, &retval);
+
+ return retval;
+}
+
+static gboolean
+gtk_real_model_simple_iter_parent (GtkTreeModel *tree_model,
+ GtkTreeIter *iter,
+ GtkTreeIter *child)
+{
+ gboolean retval = FALSE;
+
+ gtk_signal_emit (GTK_OBJECT (tree_model), model_simple_signals[ITER_PARENT], iter, child, &retval);
+
+ return retval;
+}
+
+static void
+gtk_real_model_simple_ref_iter (GtkTreeModel *tree_model,
+ GtkTreeIter *iter)
+{
+ gtk_signal_emit (GTK_OBJECT (tree_model), model_simple_signals[REF_ITER], iter);
+}
+
+static void
+gtk_real_model_simple_unref_iter (GtkTreeModel *tree_model,
+ GtkTreeIter *iter)
+{
+ gtk_signal_emit (GTK_OBJECT (tree_model), model_simple_signals[UNREF_ITER], iter);
+}
+
+/* Public functions */
+void
+gtk_tree_model_simple_changed (GtkTreeModelSimple *simple,
+ GtkTreePath *path,
+ GtkTreeIter *iter)
+{
+ g_return_if_fail (simple != NULL);
+ g_return_if_fail (GTK_IS_MODEL_SIMPLE (simple));
+ g_return_if_fail (path != NULL);
+
+ gtk_signal_emit_by_name (GTK_OBJECT (simple), "changed", path, iter);
+}
+
+void
+gtk_tree_model_simple_inserted (GtkTreeModelSimple *simple,
+ GtkTreePath *path,
+ GtkTreeIter *iter)
+{
+ g_return_if_fail (simple != NULL);
+ g_return_if_fail (GTK_IS_MODEL_SIMPLE (simple));
+ g_return_if_fail (path != NULL);
+
+ gtk_signal_emit_by_name (GTK_OBJECT (simple), "inserted", path, iter);
+}
+
+void
+gtk_tree_model_simple_child_toggled (GtkTreeModelSimple *simple,
+ GtkTreePath *path,
+ GtkTreeIter *iter)
+{
+ g_return_if_fail (simple != NULL);
+ g_return_if_fail (GTK_IS_MODEL_SIMPLE (simple));
+ g_return_if_fail (path != NULL);
+
+ gtk_signal_emit_by_name (GTK_OBJECT (simple), "child_toggled", path, iter);
+}
+
+void
+gtk_tree_model_simple_iter_deleted (GtkTreeModelSimple *simple,
+ GtkTreePath *path,
+ GtkTreeIter *iter)
+{
+ g_return_if_fail (simple != NULL);
+ g_return_if_fail (GTK_IS_MODEL_SIMPLE (simple));
+ g_return_if_fail (path != NULL);
+
+ gtk_signal_emit_by_name (GTK_OBJECT (simple), "iter_deleted", path, iter);
+}
--- /dev/null
+/* gtktreemodelsimple.h
+ * Copyright (C) 2000 Red Hat, Inc., Jonathan Blandford <jrb@redhat.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GTK_TREE_MODEL_SIMPLE_H__
+#define __GTK_TREE_MODEL_SIMPLE_H__
+
+#include <gtk/gtktreemodel.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+
+#define GTK_TYPE_MODEL_SIMPLE (gtk_tree_model_simple_get_type ())
+#define GTK_TREE_MODEL_SIMPLE(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_MODEL_SIMPLE, GtkTreeModelSimple))
+#define GTK_TREE_MODEL_SIMPLE_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_MODEL_SIMPLE, GtkTreeModelSimpleClass))
+#define GTK_IS_MODEL_SIMPLE(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_MODEL_SIMPLE))
+#define GTK_IS_MODEL_SIMPLE_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((obj), GTK_TYPE_MODEL_SIMPLE))
+
+typedef struct _GtkTreeModelSimple GtkTreeModelSimple;
+typedef struct _GtkTreeModelSimpleClass GtkTreeModelSimpleClass;
+
+struct _GtkTreeModelSimple
+{
+ GtkObject parent;
+
+ gint stamp;
+};
+
+struct _GtkTreeModelSimpleClass
+{
+ GtkObjectClass parent_class;
+
+ /* signals */
+ guint (* get_flags) (GtkTreeModel *tree_model);
+ gint (* get_n_columns) (GtkTreeModel *tree_model);
+ GType (* get_column_type) (GtkTreeModel *tree_model,
+ gint index);
+ gboolean (* get_iter) (GtkTreeModel *tree_model,
+ GtkTreeIter *iter,
+ GtkTreePath *path);
+ GtkTreePath *(* get_path) (GtkTreeModel *tree_model,
+ GtkTreeIter *iter);
+ void (* get_value) (GtkTreeModel *tree_model,
+ GtkTreeIter *iter,
+ gint column,
+ GValue *value);
+ gboolean (* iter_next) (GtkTreeModel *tree_model,
+ GtkTreeIter *iter);
+ gboolean (* iter_children) (GtkTreeModel *tree_model,
+ GtkTreeIter *iter,
+ GtkTreeIter *parent);
+ gboolean (* iter_has_child) (GtkTreeModel *tree_model,
+ GtkTreeIter *iter);
+ gint (* iter_n_children) (GtkTreeModel *tree_model,
+ GtkTreeIter *iter);
+ gboolean (* iter_nth_child) (GtkTreeModel *tree_model,
+ GtkTreeIter *iter,
+ GtkTreeIter *parent,
+ gint n);
+ gboolean (* iter_parent) (GtkTreeModel *tree_model,
+ GtkTreeIter *iter,
+ GtkTreeIter *child);
+ void (* ref_iter) (GtkTreeModel *tree_model,
+ GtkTreeIter *iter);
+ void (* unref_iter) (GtkTreeModel *tree_model,
+ GtkTreeIter *iter);
+
+ /* These will be moved into the GtkTreeModelIface eventually */
+ void (* changed) (GtkTreeModel *tree_model,
+ GtkTreePath *path,
+ GtkTreeIter *iter);
+ void (* inserted) (GtkTreeModel *tree_model,
+ GtkTreePath *path,
+ GtkTreeIter *iter);
+ void (* child_toggled) (GtkTreeModel *tree_model,
+ GtkTreePath *path,
+ GtkTreeIter *iter);
+ void (* deleted) (GtkTreeModel *tree_model,
+ GtkTreePath *path);
+};
+
+GtkType gtk_tree_model_simple_get_type (void);
+GtkTreeModelSimple *gtk_tree_model_simple_new (void);
+void gtk_tree_model_simple_changed (GtkTreeModelSimple *simple,
+ GtkTreePath *path,
+ GtkTreeIter *iter);
+void gtk_tree_model_simple_inserted (GtkTreeModelSimple *simple,
+ GtkTreePath *path,
+ GtkTreeIter *iter);
+void gtk_tree_model_simple_child_toggled (GtkTreeModelSimple *simple,
+ GtkTreePath *path,
+ GtkTreeIter *iter);
+void gtk_tree_model_simple_deleted (GtkTreeModelSimple *simple,
+ GtkTreePath *path,
+ GtkTreeIter *iter);
+
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+
+#endif /* __GTK_TREE_MODEL_SIMPLE_H__ */
/* FIXME explain what the anchor is */
/**
- * gtk_tree_selection_set_type:
+ * gtk_tree_selection_set_mode:
* @selection: A #GtkTreeSelection.
* @type: The selection type.
*
* the anchor is kept selected, if it was previously selected.
**/
void
-gtk_tree_selection_set_type (GtkTreeSelection *selection,
- GtkTreeSelectionType type)
+gtk_tree_selection_set_mode (GtkTreeSelection *selection,
+ GtkTreeSelectionMode type)
{
g_return_if_fail (selection != NULL);
g_return_if_fail (GTK_IS_TREE_SELECTION (selection));
{
GTK_TREE_SELECTION_SINGLE,
GTK_TREE_SELECTION_MULTI
-} GtkTreeSelectionType;
+} GtkTreeSelectionMode;
typedef gboolean (* GtkTreeSelectionFunc) (GtkTreeSelection *selection,
GtkTreeModel *model,
/*< private >*/
GtkTreeView *tree_view;
- GtkTreeSelectionType type;
+ GtkTreeSelectionMode type;
GtkTreeSelectionFunc user_func;
gpointer user_data;
};
GtkType gtk_tree_selection_get_type (void);
-void gtk_tree_selection_set_type (GtkTreeSelection *selection,
- GtkTreeSelectionType type);
+void gtk_tree_selection_set_mode (GtkTreeSelection *selection,
+ GtkTreeSelectionMode type);
void gtk_tree_selection_set_select_function (GtkTreeSelection *selection,
GtkTreeSelectionFunc func,
gpointer data);
new_width = gtk_tree_view_new_column_width (GTK_TREE_VIEW (widget), tree_view->priv->drag_pos, &x);
if (x != tree_view->priv->x_drag)
{
- gtk_tree_view_column_set_size (gtk_tree_view_get_column (GTK_TREE_VIEW (widget), tree_view->priv->drag_pos), new_width);
+ gtk_tree_view_column_set_width (gtk_tree_view_get_column (GTK_TREE_VIEW (widget), tree_view->priv->drag_pos), new_width);
}
/* FIXME: Do we need to scroll */
gdk_pointer_ungrab (event->time);
width = gtk_tree_view_new_column_width (GTK_TREE_VIEW (widget), i, &x);
- gtk_tree_view_column_set_size (gtk_tree_view_get_column (GTK_TREE_VIEW (widget), i), width);
+ gtk_tree_view_column_set_width (gtk_tree_view_get_column (GTK_TREE_VIEW (widget), i), width);
return FALSE;
}
g_return_if_fail (tree_view->priv->model != NULL);
for (list = tree_view->priv->columns; list; list = list->next)
- gtk_tree_view_column_set_header_active (GTK_TREE_VIEW_COLUMN (list->data), active);
+ gtk_tree_view_column_set_header_clickable (GTK_TREE_VIEW_COLUMN (list->data), active);
}
/**
}
/**
- * gtk_tree_view_column_set_col_type:
+ * gtk_tree_view_column_set_sizing:
* @tree_column: A #GtkTreeViewColumn.
- * @type: The #GtkTreeViewColumnType.
+ * @type: The #GtkTreeViewColumnSizing.
*
* Sets the growth behavior of @tree_column to @type.
**/
void
-gtk_tree_view_column_set_col_type (GtkTreeViewColumn *tree_column,
- GtkTreeViewColumnType type)
+gtk_tree_view_column_set_sizing (GtkTreeViewColumn *tree_column,
+ GtkTreeViewColumnSizing type)
{
g_return_if_fail (tree_column != NULL);
g_return_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column));
}
/**
- * gtk_tree_view_column_set_size:
+ * gtk_tree_view_column_set_width:
* @tree_column: A #GtkTreeViewColumn.
* @size: The size to set the @tree_column to.
*
* size of the column is based on the calculated width of the column.
**/
void
-gtk_tree_view_column_set_size (GtkTreeViewColumn *tree_column,
+gtk_tree_view_column_set_width (GtkTreeViewColumn *tree_column,
gint size)
{
g_return_if_fail (tree_column != NULL);
}
/**
- * gtk_tree_view_column_set_header_active:
+ * gtk_tree_view_column_set_header_clickable:
* @tree_column: A #GtkTreeViewColumn.
* @active: TRUE if the header is active.
*
* then it can take keyboard focus, and can be clicked.
**/
void
-gtk_tree_view_column_set_header_active (GtkTreeViewColumn *tree_column,
+gtk_tree_view_column_set_header_clickable (GtkTreeViewColumn *tree_column,
gboolean active)
{
g_return_if_fail (tree_column != NULL);
GTK_TREE_VIEW_COLUMN_RESIZEABLE,
GTK_TREE_VIEW_COLUMN_AUTOSIZE,
GTK_TREE_VIEW_COLUMN_FIXED
-} GtkTreeViewColumnType;
+} GtkTreeViewColumnSizing;
typedef struct _GtkTreeViewColumn GtkTreeViewColumn;
typedef struct _GtkTreeViewColumnClass GtkTreeViewColumnClass;
GtkJustification justification;
gint id;
+ /* FIXME change this field to "width" bug 40061 */
gint size;
gint min_width;
gint max_width;
gchar *title;
GtkCellRenderer *cell;
GSList *attributes;
- GtkTreeViewColumnType column_type;
+ GtkTreeViewColumnSizing column_type;
guint visible : 1;
guint button_active : 1;
guint dirty : 1;
void gtk_tree_view_column_set_visible (GtkTreeViewColumn *tree_column,
gboolean visible);
gboolean gtk_tree_view_column_get_visible (GtkTreeViewColumn *tree_column);
-void gtk_tree_view_column_set_col_type (GtkTreeViewColumn *tree_column,
- GtkTreeViewColumnType type);
+void gtk_tree_view_column_set_sizing (GtkTreeViewColumn *tree_column,
+ GtkTreeViewColumnSizing type);
gint gtk_tree_view_column_get_col_type (GtkTreeViewColumn *tree_column);
gint gtk_tree_view_column_get_size (GtkTreeViewColumn *tree_column);
-void gtk_tree_view_column_set_size (GtkTreeViewColumn *tree_column,
+void gtk_tree_view_column_set_width (GtkTreeViewColumn *tree_column,
gint size);
void gtk_tree_view_column_set_min_width (GtkTreeViewColumn *tree_column,
gint min_width);
void gtk_tree_view_column_set_title (GtkTreeViewColumn *tree_column,
gchar *title);
gchar *gtk_tree_view_column_get_title (GtkTreeViewColumn *tree_column);
-void gtk_tree_view_column_set_header_active (GtkTreeViewColumn *tree_column,
+void gtk_tree_view_column_set_header_clickable (GtkTreeViewColumn *tree_column,
gboolean active);
void gtk_tree_view_column_set_widget (GtkTreeViewColumn *tree_column,
GtkWidget *widget);
}
selection = GTK_OBJECT (gtk_tree_view_get_selection (GTK_TREE_VIEW (tree_view)));
- gtk_tree_selection_set_type (GTK_TREE_SELECTION (selection), GTK_TREE_SELECTION_SINGLE);
+ gtk_tree_selection_set_mode (GTK_TREE_SELECTION (selection), GTK_TREE_SELECTION_SINGLE);
/* Put them together */
gtk_container_add (GTK_CONTAINER (scrolled_window), tree_view);
}
selection = GTK_OBJECT (gtk_tree_view_get_selection (GTK_TREE_VIEW (tree_view)));
- gtk_tree_selection_set_type (GTK_TREE_SELECTION (selection), GTK_TREE_SELECTION_SINGLE);
+ gtk_tree_selection_set_mode (GTK_TREE_SELECTION (selection), GTK_TREE_SELECTION_SINGLE);
/* Put them together */
gtk_container_add (GTK_CONTAINER (scrolled_window), tree_view);